package com.jpress.exceptions;

import com.jpress.utils.FacesUtils;


public class CrudException extends GenericException {
	private static final long serialVersionUID = 1L;

	public enum TipoAcao{
		INSERIR, LER, ATUALIZAR, EXCLUIR
	}	
	
	public CrudException(TipoAcao tipo, String nomeRegistro){
		super(mensagem(tipo, nomeRegistro));
	}
	
	private static String mensagem(TipoAcao tipo, String nomeRegistro){
		switch (tipo) {
		case INSERIR:
			return FacesUtils.getParamMessageBundle("exception.crudException.insercaoMsg", nomeRegistro);
		case LER:
			return FacesUtils.getParamMessageBundle("exception.crudException.leituraMsg", nomeRegistro);
		case ATUALIZAR:
			return FacesUtils.getParamMessageBundle("exception.crudException.atualizacaoMsg", nomeRegistro);
		case EXCLUIR:
			return FacesUtils.getParamMessageBundle("exception.crudException.exclusaoMsg", nomeRegistro);
		default:
			return FacesUtils.getParamMessageBundle("exception.crudException.genericoMsg", nomeRegistro);
		}
	}
}
